package com.ms.teapuesto.domain.viewmodel;

import com.ms.teapuesto.bean.EquipoBean;
import com.ms.teapuesto.bean.EventoBean;
import com.ms.teapuesto.bean.FechaBean;
import com.ms.teapuesto.bean.support.AnalisisUtil;
import com.ms.teapuesto.util.HtmlUtil;
import com.ms.teapuesto.util.NumberUtil;
import org.apache.commons.lang.StringUtils;

import java.math.BigDecimal;
import java.text.DecimalFormat;

/**
 * Created by JAVA on 20/09/2014.
 */
public class TeApuestoRsl {

    private Long eventId;
    private Long drawId;
    private String leagueNombre;

    private String teams;
    private String teamsLiveScore;
    private String equipo1;
    private String equipo2;
    private EquipoBean equipoLocal;

    private EquipoBean equipoVisita;

    private EventoBean eventoBean;

    private FechaBean fechaBean;

    private Boolean probGoles = Boolean.FALSE;
    private Boolean probResultFinalSimple = Boolean.FALSE;
    private Boolean probResultFinalDoble = Boolean.FALSE;
    private Boolean probResultDoble = Boolean.FALSE;
    private Boolean probResultSimple = Boolean.FALSE;

    public String getPosicionUlt8() {
        if (eventoBean == null) return "-";
        if (eventoBean.getLocalPosicionUlt8() == null || eventoBean.getVisitaPosicionUlt8() == null) return "-";
        return eventoBean.getLocalPosicionUlt8() + " / " + eventoBean.getVisitaPosicionUlt8();
    }

    public String getPosicionTotal() {
        if (eventoBean == null) return "-";
        if (eventoBean.getLocalPosicion() == null || eventoBean.getVisitaPosicion() == null) return "-";
        return eventoBean.getLocalPosicion() + " / " + eventoBean.getVisitaPosicion();
    }

    DecimalFormat df = new DecimalFormat("##0.00");
    DecimalFormat dfd = new DecimalFormat("###");

    public String getTotalGUlt() {
        if (eventoBean == null) return "-";
        if (eventoBean.getLocalTotalGUlt() == null || eventoBean.getVisitaTotalGUlt() == null) return "-";
        return "[" + dfd.format(eventoBean.getLocalTotalGUlt()) + " ; " + dfd.format(eventoBean.getVisitaTotalGUlt()) + "]";
    }


    public String getTotalGUlt8() {
        if (eventoBean == null) return "-";
        if (eventoBean.getLocalTotalGUlt8() == null || eventoBean.getVisitaTotalGUlt8() == null) return "-";
        return "[" + dfd.format(eventoBean.getLocalTotalGUlt8()) + " ; " + dfd.format(eventoBean.getVisitaTotalGUlt8()) + "]";
    }


    public String getResultadoUlt8() {
        if (eventoBean == null) return "-";
        return HtmlUtil.bold(
                NumberUtil.nvl(eventoBean.getResultadoLocalUlt8()),
                NumberUtil.nvl(eventoBean.getResultadoEmpateUlt8()),
                NumberUtil.nvl(eventoBean.getResultadoVisitaUlt8()));
    }

    public String getResultadoAcierto() {
        if (eventoBean == null) return "-";
        return
                "["+HtmlUtil.bold(NumberUtil.nvl(eventoBean.getResultado_acertado_simple()))
                        +" / "
                        +HtmlUtil.bold(NumberUtil.nvl(eventoBean.getResultado_acertado_doble()))
                        +"] <"
                        +HtmlUtil.bold(NumberUtil.nvl(eventoBean.getResultado_total_acertado_simple()))
                        +" / "
                        +HtmlUtil.bold(NumberUtil.nvl(eventoBean.getResultado_total_acertado_doble()))
                        + ">";
    }


    public String getResultadoUlt() {
        if (eventoBean == null) return "-";
        return HtmlUtil.bold(
                NumberUtil.nvl(eventoBean.getResultadoLocalUlt()),
                NumberUtil.nvl(eventoBean.getResultadoEmpateUlt()),
                NumberUtil.nvl(eventoBean.getResultadoVisitaUlt()));
    }


    public String getResultado1tUlt() {
        if (eventoBean == null) return "-";
        if (eventoBean.getResultadoLocal1tUlt() == null || eventoBean.getResultadoEmpate1tUlt() == null || eventoBean.getResultadoVisita1tUlt() == null)
            return "-";
        return HtmlUtil.bold(eventoBean.getResultadoLocal1tUlt(), eventoBean.getResultadoEmpate1tUlt(), eventoBean.getResultadoVisita1tUlt());
    }

    public String getResultado2tUlt() {
        if (eventoBean == null) return "-";
        if (eventoBean.getResultadoLocal2tUlt() == null || eventoBean.getResultadoEmpate2tUlt() == null || eventoBean.getResultadoVisita2tUlt() == null)
            return "-";
        return HtmlUtil.bold(eventoBean.getResultadoLocal2tUlt(), eventoBean.getResultadoEmpate2tUlt(), eventoBean.getResultadoVisita2tUlt());
    }

    public String getResultado1t() {
        if (eventoBean == null) return "-";
        if (eventoBean.getResultadoLocal1t() == null || eventoBean.getResultadoEmpate1t() == null || eventoBean.getResultadoVisita1t() == null)
            return "-";
        return HtmlUtil.bold(eventoBean.getResultadoLocal1t(), eventoBean.getResultadoEmpate1t(), eventoBean.getResultadoVisita1t());
    }

    public String getResultado2t() {
        if (eventoBean == null) return "-";
        if (eventoBean.getResultadoLocal2t() == null || eventoBean.getResultadoEmpate2t() == null || eventoBean.getResultadoVisita2t() == null)
            return "-";
        return HtmlUtil.bold(eventoBean.getResultadoLocal2t(), eventoBean.getResultadoEmpate2t(), eventoBean.getResultadoVisita2t());
    }

    public String getGolUlt() {
        if (eventoBean == null) return "-";
        return df.format(NumberUtil.nvl(eventoBean.getLocalGolUlt())) + " / " + df.format(NumberUtil.nvl(eventoBean.getVisitaGolUlt()));
    }

    public String getGol1tUlt() {
        if (eventoBean == null) return "-";
        return df.format(NumberUtil.nvl(eventoBean.getLocalGol1tUlt())) + " / " + df.format(NumberUtil.nvl(eventoBean.getVisitaGol1tlUlt()));
    }

    public String getGol1t() {
        if (eventoBean == null) return "-";
        return df.format(NumberUtil.nvl(eventoBean.getLocalGol1t())) + " / " + df.format(NumberUtil.nvl(eventoBean.getVisitaGol1t()));
    }

    public String getGol2tUlt() {
        if (eventoBean == null) return "-";
        return df.format(NumberUtil.nvl(eventoBean.getLocalGol2tUlt())) + " / " + df.format(NumberUtil.nvl(eventoBean.getVisitaGol2tlUlt()));
    }

    public String getGol2t() {
        if (eventoBean == null) return "-";
        return df.format(NumberUtil.nvl(eventoBean.getLocalGol2t())) + " / " + df.format(NumberUtil.nvl(eventoBean.getVisitaGol2t()));
    }

    /*
         *  *
     */

    public BigDecimal getProbabilidad() {

        if (probGoles) {
            if (eventoBean.getGoles() == null) return new BigDecimal(1);

            if (eventoBean.getGoles().doubleValue() >= 3) return eventoBean.getProbabilidadPara("+3");

            if (eventoBean.getGoles().doubleValue() >= 2 && eventoBean.getGoles().doubleValue() <= 3)
                return eventoBean.getProbabilidadPara("2-3");

            if (eventoBean.getGoles().doubleValue() <= 2) return eventoBean.getProbabilidadPara("-2");
        }

        if (probResultFinalDoble) {
            if (StringUtils.isBlank(eventoBean.getResultFinalDouble())) return new BigDecimal(1);

            return eventoBean.getProbabilidadPara(eventoBean.getResultFinalDouble());
        }

        if (probResultFinalSimple) {
            if (StringUtils.isBlank(eventoBean.getResultFinalSimple())) return new BigDecimal(1);

            return eventoBean.getProbabilidadPara(eventoBean.getResultFinalSimple());
        }
        if (probResultSimple) {
            if (StringUtils.isBlank(eventoBean.getResultSimple())) return new BigDecimal(1);

            return eventoBean.getProbabilidadPara(eventoBean.getResultSimple());
        }
        if (probResultDoble) {
            if (StringUtils.isBlank(eventoBean.getResultDoble())) return new BigDecimal(1);

            return eventoBean.getProbabilidadPara(eventoBean.getResultDoble());
        }
        return new BigDecimal(1);
    }

    public String getResultFinalSimple() {
        if (eventoBean == null) {
            if(fechaBean!=null) return getFechaBean().getResultadoSimple();
            return null;
        }
        return eventoBean.getResultFinalSimple();
    }

    public String getResultFinalDouble() {
        if (eventoBean == null) {
            if(fechaBean!=null) return getFechaBean().getResultadoDoble();
            return null;
        }
        return eventoBean.getResultFinalDouble();
    }

    public Long getEventId() {
        return eventId;
    }

    public void setEventId(Long eventId) {
        this.eventId = eventId;
    }

    public Long getDrawId() {
        return drawId;
    }

    public void setDrawId(Long drawId) {
        this.drawId = drawId;
    }


    public EquipoBean getEquipoLocal() {
        return equipoLocal;
    }

    public void setEquipoLocal(EquipoBean equipoLocal) {
        this.equipoLocal = equipoLocal;
    }

    public EquipoBean getEquipoVisita() {
        return equipoVisita;
    }

    public void setEquipoVisita(EquipoBean equipoVisita) {
        this.equipoVisita = equipoVisita;
    }

    public String getResultSimple() {
        if (eventoBean == null) return null;
        return eventoBean.getResultSimple();
    }

    public void setResultSimple(String resultSimple) {
        this.eventoBean.setResultSimple(resultSimple);
    }

    public String getResultDoble() {
        if (eventoBean == null) return null;
        return eventoBean.getResultDoble();
    }

    public void setResultDoble(String resultDoble) {
        this.eventoBean.setResultDoble(resultDoble);
    }

    public void calcularResultadoFinal(BigDecimal porcentaje) {
        if (equipoLocal == null || equipoVisita == null) {
            return;
        }
        if (porcentaje != null) {
            AnalisisUtil util = new AnalisisUtil(this, equipoLocal, equipoVisita, porcentaje);

            eventoBean.setResultSimple(util.getResultadoSimple());
            eventoBean.setResultDoble(util.getResultadoDoble());
        }

    }

    public void calcularResultado() {
        if (equipoLocal == null || equipoVisita == null) {
            return;
        }

        eventoBean.setLocalPosicionUlt8(equipoLocal.getPosicion_ult_8());
        eventoBean.setVisitaPosicionUlt8(equipoVisita.getPosicion_ult_8());

        eventoBean.setLocalPosicion(equipoLocal.getPosicion());
        eventoBean.setVisitaPosicion(equipoVisita.getPosicion());

        if (equipoLocal.getTotal_g_ult_8() != null)
            eventoBean.setLocalTotalGUlt8(new BigDecimal(equipoLocal.getTotal_g_ult_8() / 1.0));
        if (equipoVisita.getTotal_g_ult_8() != null)
            eventoBean.setVisitaTotalGUlt8(new BigDecimal(equipoVisita.getTotal_g_ult_8() / 1.0));

        eventoBean.setLocalTotalGUlt(equipoLocal.getLocal_g_ult());
        eventoBean.setVisitaTotalGUlt(equipoVisita.getVisita_g_ult());


        if (equipoLocal.getLocal_partidos_ult() != null && equipoVisita.getVisita_partidos_ult() != null) {
            eventoBean.setResultadoLocalUlt(new BigDecimal((NumberUtil.nvl(equipoLocal.getLocal_g_ult()).add(NumberUtil.nvl(equipoVisita.getVisita_p_ult()))).doubleValue() / (equipoLocal.getLocal_partidos_ult() + equipoVisita.getVisita_partidos_ult()) * 100));
            eventoBean.setResultadoEmpateUlt(new BigDecimal((NumberUtil.nvl(equipoLocal.getLocal_e_ult()).add(NumberUtil.nvl(equipoVisita.getVisita_e_ult()))).doubleValue() / (equipoLocal.getLocal_partidos_ult() + equipoVisita.getVisita_partidos_ult()) * 100));
            eventoBean.setResultadoVisitaUlt(new BigDecimal((NumberUtil.nvl(equipoLocal.getLocal_p_ult()).add(NumberUtil.nvl(equipoVisita.getVisita_g_ult()))).doubleValue() / (equipoLocal.getLocal_partidos_ult() + equipoVisita.getVisita_partidos_ult()) * 100));
        } else {
            eventoBean.setResultadoLocalUlt(BigDecimal.ZERO);
            eventoBean.setResultadoEmpateUlt(BigDecimal.ZERO);
            eventoBean.setResultadoVisitaUlt(BigDecimal.ZERO);
        }
        int totalPartidos = 10000;
        if (equipoLocal.getPartidos_ult_8() != null && equipoVisita.getPartidos_ult_8() != null && (equipoLocal.getPartidos_ult_8() + equipoVisita.getPartidos_ult_8()) > 0) {
            eventoBean.setResultadoLocalUlt8(new BigDecimal((equipoLocal.getTotal_g_ult_8() + equipoVisita.getTotal_p_ult_8()) * 1.0 / (equipoLocal.getPartidos_ult_8() + equipoVisita.getPartidos_ult_8()) * 100));
            eventoBean.setResultadoEmpateUlt8(new BigDecimal(((equipoLocal.getTotal_e_ult_8()) + (equipoVisita.getTotal_e_ult_8())) * 1.0 / (equipoLocal.getPartidos_ult_8() + equipoVisita.getPartidos_ult_8()) * 100));
            eventoBean.setResultadoVisitaUlt8(new BigDecimal(((equipoLocal.getTotal_p_ult_8()) + (equipoVisita.getTotal_g_ult_8())) * 1.0 / (equipoLocal.getPartidos_ult_8() + equipoVisita.getPartidos_ult_8()) * 100));
        } else {
            eventoBean.setResultadoLocalUlt8(BigDecimal.ZERO);
            eventoBean.setResultadoEmpateUlt8(BigDecimal.ZERO);
            eventoBean.setResultadoVisitaUlt8(BigDecimal.ZERO);
        }

        if (equipoLocal.getLocal_partidos_ult() == null || equipoVisita.getVisita_partidos_ult() == null) {
            totalPartidos = 10000;
        } else {
            totalPartidos = equipoLocal.getLocal_partidos_ult() + equipoVisita.getVisita_partidos_ult();
        }

        eventoBean.setLocalGolUlt(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_avg_scored_ult()).add(NumberUtil.nvl(equipoVisita.getVisita_avg_conceded_ult())).doubleValue() / totalPartidos));
        eventoBean.setVisitaGolUlt(new BigDecimal(NumberUtil.nvl(equipoVisita.getVisita_avg_scored_ult()).add(NumberUtil.nvl(equipoLocal.getLocal_avg_conceded_ult())).doubleValue() / totalPartidos));

        eventoBean.setLocalGol1tUlt(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_avg_scored_1t_ult()).add(NumberUtil.nvl(equipoVisita.getVisita_avg_conceded_1t_ult())).doubleValue() / totalPartidos));
        eventoBean.setVisitaGol1tlUlt(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_avg_conceded_1t_ult()).add(NumberUtil.nvl(equipoVisita.getVisita_avg_scored_1t_ult())).doubleValue() / totalPartidos));

        eventoBean.setLocalGol2tUlt(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_avg_scored_2t_ult()).add(NumberUtil.nvl(equipoVisita.getVisita_avg_conceded_2t_ult())).doubleValue() / totalPartidos));
        eventoBean.setVisitaGol2tlUlt(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_avg_conceded_2t_ult()).add(NumberUtil.nvl(equipoVisita.getVisita_avg_scored_2t_ult())).doubleValue() / totalPartidos));

        eventoBean.setLocalGol1t(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_avg_scored_1t()).add(NumberUtil.nvl(equipoVisita.getVisita_avg_conceded_1t())).doubleValue() / totalPartidos));
        eventoBean.setVisitaGol1t(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_avg_conceded_1t()).add(NumberUtil.nvl(equipoVisita.getVisita_avg_scored_1t())).doubleValue() / totalPartidos));

        eventoBean.setLocalGol2t(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_avg_scored_2t()).add(NumberUtil.nvl(equipoVisita.getVisita_avg_conceded_2t())).doubleValue() / totalPartidos));
        eventoBean.setVisitaGol2t(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_avg_conceded_2t()).add(NumberUtil.nvl(equipoVisita.getVisita_avg_scored_2t())).doubleValue() / totalPartidos));

        if (equipoLocal.getLocal_partidos_ult() != null && equipoVisita.getVisita_partidos_ult() != null) {
            eventoBean.setResultadoLocal1tUlt(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_g_1t_ult()).add(NumberUtil.nvl(equipoVisita.getVisita_p_1t_ult())).doubleValue() / (equipoLocal.getLocal_partidos_ult() + equipoVisita.getVisita_partidos_ult()) * 100));
            eventoBean.setResultadoEmpate1tUlt(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_e_1t_ult()).add(NumberUtil.nvl(equipoVisita.getVisita_e_1t_ult())).doubleValue() / (equipoLocal.getLocal_partidos_ult() + equipoVisita.getVisita_partidos_ult()) * 100));
            eventoBean.setResultadoVisita1tUlt(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_p_1t_ult()).add(NumberUtil.nvl(equipoVisita.getVisita_g_1t_ult())).doubleValue() / (equipoLocal.getLocal_partidos_ult() + equipoVisita.getVisita_partidos_ult()) * 100));

            eventoBean.setResultadoLocal2tUlt(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_g_2t_ult()).add(NumberUtil.nvl(equipoVisita.getVisita_p_2t_ult())).doubleValue() / (equipoLocal.getLocal_partidos_ult() + equipoVisita.getVisita_partidos_ult()) * 100));
            eventoBean.setResultadoEmpate2tUlt(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_e_2t_ult()).add(NumberUtil.nvl(equipoVisita.getVisita_e_2t_ult())).doubleValue() / (equipoLocal.getLocal_partidos_ult() + equipoVisita.getVisita_partidos_ult()) * 100));
            eventoBean.setResultadoVisita2tUlt(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_p_2t_ult()).add(NumberUtil.nvl(equipoVisita.getVisita_g_2t_ult())).doubleValue() / (equipoLocal.getLocal_partidos_ult() + equipoVisita.getVisita_partidos_ult()) * 100));
        } else {
            eventoBean.setResultadoLocal1tUlt(BigDecimal.ZERO);
            eventoBean.setResultadoEmpate1tUlt(BigDecimal.ZERO);
            eventoBean.setResultadoVisita1tUlt(BigDecimal.ZERO);
            eventoBean.setResultadoLocal2tUlt(BigDecimal.ZERO);
            eventoBean.setResultadoEmpate2tUlt(BigDecimal.ZERO);
            eventoBean.setResultadoVisita2tUlt(BigDecimal.ZERO);
        }


        if (equipoLocal.getLocal_partidos() == null || equipoVisita.getVisita_partidos() == null) {
            totalPartidos = 10000;
        } else {
            totalPartidos = equipoLocal.getLocal_partidos() + equipoVisita.getVisita_partidos();
        }

        if (equipoLocal.getLocal_partidos() != null && equipoVisita.getVisita_partidos() != null) {
            eventoBean.setResultadoLocal1t(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_g_1t()).add(NumberUtil.nvl(equipoVisita.getVisita_p_1t())).doubleValue() / (totalPartidos) * 100));
            eventoBean.setResultadoEmpate1t(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_e_1t()).add(NumberUtil.nvl(equipoVisita.getVisita_e_1t())).doubleValue() / (totalPartidos) * 100));
            eventoBean.setResultadoVisita1t(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_p_1t()).add(NumberUtil.nvl(equipoVisita.getVisita_g_1t())).doubleValue() / (totalPartidos) * 100));

            eventoBean.setResultadoLocal2t(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_g_2t()).add(NumberUtil.nvl(equipoVisita.getVisita_p_2t())).doubleValue() / (totalPartidos) * 100));
            eventoBean.setResultadoEmpate2t(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_e_2t()).add(NumberUtil.nvl(equipoVisita.getVisita_e_2t())).doubleValue() / (totalPartidos) * 100));
            eventoBean.setResultadoVisita2t(new BigDecimal(NumberUtil.nvl(equipoLocal.getLocal_p_2t()).add(NumberUtil.nvl(equipoVisita.getVisita_g_2t())).doubleValue() / (totalPartidos) * 100));
        } else {
            eventoBean.setResultadoLocal1t(BigDecimal.ZERO);
            eventoBean.setResultadoEmpate1t(BigDecimal.ZERO);
            eventoBean.setResultadoVisita1t(BigDecimal.ZERO);
            eventoBean.setResultadoLocal2t(BigDecimal.ZERO);
            eventoBean.setResultadoEmpate2t(BigDecimal.ZERO);
            eventoBean.setResultadoVisita2t(BigDecimal.ZERO);
        }

        eventoBean.setResultadoLL(new BigDecimal((NumberUtil.nvl(equipoLocal.getLocal_ll()).add(NumberUtil.nvl(equipoVisita.getVisita_ll()))).doubleValue() / totalPartidos * 100));
        eventoBean.setResultadoLE(new BigDecimal((NumberUtil.nvl(equipoLocal.getLocal_le()).add(NumberUtil.nvl(equipoVisita.getVisita_le()))).doubleValue() / totalPartidos * 100));
        eventoBean.setResultadoLV(new BigDecimal((NumberUtil.nvl(equipoLocal.getLocal_lv()).add(NumberUtil.nvl(equipoVisita.getVisita_lv()))).doubleValue() / totalPartidos * 100));
        eventoBean.setResultadoEE(new BigDecimal((NumberUtil.nvl(equipoLocal.getLocal_ee()).add(NumberUtil.nvl(equipoVisita.getVisita_ee()))).doubleValue() / totalPartidos * 100));
        eventoBean.setResultadoEL(new BigDecimal((NumberUtil.nvl(equipoLocal.getLocal_el()).add(NumberUtil.nvl(equipoVisita.getVisita_el()))).doubleValue() / totalPartidos * 100));
        eventoBean.setResultadoEV(new BigDecimal((NumberUtil.nvl(equipoLocal.getLocal_ev()).add(NumberUtil.nvl(equipoVisita.getVisita_ev()))).doubleValue() / totalPartidos * 100));
        eventoBean.setResultadoVE(new BigDecimal((NumberUtil.nvl(equipoLocal.getLocal_ve()).add(NumberUtil.nvl(equipoVisita.getVisita_ve()))).doubleValue() / totalPartidos * 100));
        eventoBean.setResultadoVL(new BigDecimal((NumberUtil.nvl(equipoLocal.getLocal_vl()).add(NumberUtil.nvl(equipoVisita.getVisita_vl()))).doubleValue() / totalPartidos * 100));
        eventoBean.setResultadoVV(new BigDecimal((NumberUtil.nvl(equipoLocal.getLocal_vv()).add(NumberUtil.nvl(equipoVisita.getVisita_vv()))).doubleValue() / totalPartidos * 100));


        int totalAnalizadoSimple = NumberUtil.nvl(equipoLocal.getLocal_analizado_simple()).add(NumberUtil.nvl(equipoVisita.getVisita_analizado_simple())).intValue();
        int totalAnalizadoDoble = NumberUtil.nvl(equipoLocal.getLocal_analizado_doble()).add(NumberUtil.nvl(equipoVisita.getVisita_analizado_doble())).intValue();

        int totalTotalAnalizadoSimple = NumberUtil.nvl(equipoLocal.getTotal_analizado_simple()).add(NumberUtil.nvl(equipoVisita.getTotal_analizado_simple())).intValue();
        int totalTotalAnalizadoDoble = NumberUtil.nvl(equipoLocal.getTotal_analizado_doble()).add(NumberUtil.nvl(equipoVisita.getTotal_analizado_doble())).intValue();

        if(totalAnalizadoSimple>0){
            eventoBean.setResultado_acertado_simple(
                    new BigDecimal((NumberUtil.nvl(equipoLocal.getLocal_acertado_simple())
                            .add(NumberUtil.nvl(equipoVisita.getVisita_acertado_simple()))).doubleValue() / totalAnalizadoSimple * 100));
        }

        if(totalAnalizadoDoble>0)
        eventoBean.setResultado_acertado_doble(
                new BigDecimal((NumberUtil.nvl(equipoLocal.getLocal_acertado_doble())
                        .add(NumberUtil.nvl(equipoVisita.getVisita_acertado_doble()))).doubleValue() / totalAnalizadoDoble* 100));

        if(totalTotalAnalizadoSimple>0)
        eventoBean.setResultado_total_acertado_simple(
                new BigDecimal((NumberUtil.nvl(equipoLocal.getTotal_acertado_simple())
                        .add(NumberUtil.nvl(equipoVisita.getTotal_acertado_simple()))).doubleValue() / totalTotalAnalizadoSimple * 100));

        if(totalTotalAnalizadoDoble>0)
        eventoBean.setResultado_total_acertado_doble(
                new BigDecimal((NumberUtil.nvl(equipoLocal.getTotal_acertado_doble())
                        .add(NumberUtil.nvl(equipoVisita.getTotal_acertado_doble()))).doubleValue() / totalTotalAnalizadoDoble * 100));

    }

    @Override
    public String toString() {
        return "TeApuestoRsl{" +
                "eventId=" + eventId +
                '}';
    }


    public void addRemontada(String remontada) {
        if (StringUtils.isBlank(eventoBean.getRemontada()))
            eventoBean.setRemontada(remontada);
        else {
            eventoBean.setRemontada(eventoBean.getRemontada() + ";" + remontada);
        }
    }

    public String getStyleClass() {
        if (eventoBean == null) return "";
        if (StringUtils.isNotBlank(eventoBean.getRemontada()) && eventoBean.getRemontada().contains("+")) {
            return "remontadaClass";
        }
        if (StringUtils.isNotBlank(eventoBean.getRemontada())) {
            return "posibleRemontadaClass";
        }

        return "";
    }

    public String getStyleClassRFD() {
        if (StringUtils.isNotBlank(getResultFinalDouble())) {

            if (getResultFinalDouble().equals(getResultDoble())) {
                return "resultadoDobleClass";
            } else {
                return "resultadoErrorClass";
            }
        }
        return getStyleClass();
    }

    public String getStyleClassRFS() {
        if (StringUtils.isNotBlank(getResultFinalSimple())) {
            if (getResultFinalSimple().equals(getResultSimple())) {
                return "resultadoSimpleClass";
            } else {
                return "resultadoErrorClass";
            }

        }
        return getStyleClass();
    }


    public boolean esRemontada() {
        return StringUtils.isNotBlank(eventoBean.getRemontada()) && eventoBean.getRemontada().contains("+");
    }

    public boolean esPosibleRemontada() {
        return StringUtils.isNotBlank(eventoBean.getRemontada());
    }

    public boolean esResultado1t(BigDecimal valor) {
        if (eventoBean.getResultadoLocal1t() == null) return false;
        return eventoBean.getResultadoLocal1t().doubleValue() >= valor.doubleValue()
                || eventoBean.getResultadoEmpate1t().doubleValue() >= valor.doubleValue()
                || eventoBean.getResultadoVisita1t().doubleValue() >= valor.doubleValue();
    }

    public boolean esAcierto(BigDecimal valor) {
        if (eventoBean.getTotal_acertado_doble() == null
                && eventoBean.getTotal_acertado_simple() == null
                && eventoBean.getResultado_acertado_simple() == null
                && eventoBean.getResultado_acertado_doble() == null)
            return false;

        return NumberUtil.nvl(eventoBean.getTotal_acertado_doble()).doubleValue() >= valor.doubleValue()
                || NumberUtil.nvl(eventoBean.getTotal_acertado_simple()).doubleValue() >= valor.doubleValue()
                || NumberUtil.nvl(eventoBean.getResultado_acertado_simple()).doubleValue() >= valor.doubleValue()
                || NumberUtil.nvl(eventoBean.getResultado_acertado_doble()).doubleValue() >= valor.doubleValue()
                ;
    }

    public boolean esResultadoLocalVisita(BigDecimal valor) {
        if (eventoBean.getResultadoLocalUlt() == null) return false;
        return eventoBean.getResultadoLocalUlt().doubleValue() >= valor.doubleValue()
                || eventoBean.getResultadoEmpateUlt().doubleValue() >= valor.doubleValue()
                || eventoBean.getResultadoVisitaUlt().doubleValue() >= valor.doubleValue();
    }

    public boolean esResultadoUlt8(BigDecimal valor) {
        if (eventoBean.getResultadoLocalUlt8() == null || eventoBean.getResultadoEmpateUlt8() == null || eventoBean.getResultadoVisitaUlt8() == null)
            return false;
        return eventoBean.getResultadoLocalUlt8().doubleValue() >= valor.doubleValue()
                || eventoBean.getResultadoEmpateUlt8().doubleValue() >= valor.doubleValue()
                || eventoBean.getResultadoVisitaUlt8().doubleValue() >= valor.doubleValue();
    }


    public boolean esGoles(Boolean mayor, BigDecimal goles) {

        if (eventoBean == null) {
            return false;
        }
        if (eventoBean.getLocalGolUlt() == null || eventoBean.getVisitaGolUlt() == null) {
            System.out.println("Error en log " + this);
            return false;
        }
        if (mayor) {
            return ((eventoBean.getLocalGolUlt().doubleValue() + eventoBean.getVisitaGolUlt().doubleValue()) >= goles.doubleValue())
                    || (NumberUtil.nvl(getTotalGoles()).doubleValue() >= goles.doubleValue());
        } else {
            return ((eventoBean.getLocalGolUlt().doubleValue() + eventoBean.getVisitaGolUlt().doubleValue()) <= goles.doubleValue())
                    || (getTotalGoles() != null && NumberUtil.nvl(getTotalGoles()).doubleValue() <= goles.doubleValue());
        }
    }

    public boolean esSuperGoles() {
        if (eventoBean == null) {
            return false;
        }
        if (equipoLocal == null || equipoVisita == null) {
            System.out.println("Error en log " + this);
            return false;
        }
        if (eventoBean.getLocalGolUlt() == null || eventoBean.getVisitaGolUlt() == null) {
            System.out.println("Error en log " + this);
            return false;
        }
        return NumberUtil.nvl(eventoBean.getLocalGolUlt()).doubleValue() >= 1.2
                && NumberUtil.nvl(eventoBean.getVisitaGolUlt()).doubleValue() >= 1.2
                && (equipoLocal.getLocal_avg_3().doubleValue() >= 0.6 || equipoVisita.getVisita_avg_3().doubleValue() >= 0.6)
                && (equipoLocal.getLocal_avg_3_ult().doubleValue() >= 0.6 || equipoVisita.getVisita_avg_3_ult().doubleValue() >= 0.6);

    }

    public BigDecimal getTotalGoles() {
        if (eventoBean == null){
            if(fechaBean!=null) return getFechaBean().getTotalGoles();
            return null;
        }
        return eventoBean.getGoles();
    }

    public void setTotalGoles(BigDecimal totalGoles) {
        eventoBean.setGoles(totalGoles);
    }

    public EventoBean getEventoBean() {
        return eventoBean;
    }

    public void setEventoBean(EventoBean eventoBean) {
        this.eventoBean = eventoBean;
    }

    public Boolean getProbGoles() {
        return probGoles;
    }

    public void setProbGoles(Boolean probGoles) {
        this.probGoles = probGoles;
    }

    public Boolean getProbResultFinalSimple() {
        return probResultFinalSimple;
    }

    public void setProbResultFinalSimple(Boolean probResultFinalSimple) {
        this.probResultFinalSimple = probResultFinalSimple;
    }

    public Boolean getProbResultFinalDoble() {
        return probResultFinalDoble;
    }

    public void setProbResultFinalDoble(Boolean probResultFinalDoble) {
        this.probResultFinalDoble = probResultFinalDoble;
    }

    public Boolean getProbResultDoble() {
        return probResultDoble;
    }

    public void setProbResultDoble(Boolean probResultDoble) {
        this.probResultDoble = probResultDoble;
    }

    public Boolean getProbResultSimple() {
        return probResultSimple;
    }

    public void setProbResultSimple(Boolean probResultSimple) {
        this.probResultSimple = probResultSimple;
    }


    public boolean isChecked() {
        return Boolean.TRUE.equals(getProbGoles())
                || Boolean.TRUE.equals(getProbResultDoble())
                || Boolean.TRUE.equals(getProbResultSimple())
                || Boolean.TRUE.equals(getProbResultFinalSimple())
                || Boolean.TRUE.equals(getProbResultFinalDoble())
                ;
    }

    public String getLeagueNombre() {
        return leagueNombre;
    }

    public void setLeagueNombre(String leagueNombre) {
        this.leagueNombre = leagueNombre;
    }

    public String getEquipo1() {
        return equipo1;
    }

    public void setEquipo1(String equipo1) {
        this.equipo1 = equipo1;
    }

    public String getEquipo2() {
        return equipo2;
    }

    public void setEquipo2(String equipo2) {
        this.equipo2 = equipo2;
    }

    public String getTeams() {
        return teams;
    }

    public void setTeams(String teams) {
        this.teams = teams;
    }

    public FechaBean getFechaBean() {
        return fechaBean;
    }

    public void setFechaBean(FechaBean fechaBean) {
        this.fechaBean = fechaBean;
    }

    public String getTeamsLiveScore() {
        if(equipoLocal!=null && equipoVisita!=null){
            return equipoLocal.getNombreLiveScore()+"-"+equipoVisita.getNombreLiveScore();
        }
        return teamsLiveScore;
    }

    public void setTeamsLiveScore(String teamsLiveScore) {
        this.teamsLiveScore = teamsLiveScore;
    }

    public boolean esFavorito() {
        if(eventoBean==null) return false;
        return StringUtils.isNotBlank(eventoBean.getInFavorito()) && Boolean.parseBoolean(eventoBean.getInFavorito());
    }
}
